<?
class Service {
        var $serviceStr;

        function Service($addr) {
                $this->serviceStr = $addr;
        }

        function getInfo () {

        }

        function call () {

        }
}

require_once("nusoap/lib/nusoap.php");

class WebService extends Service {
        function WebService($addr) {
                parent::Service($addr);
        }

        function getInfo () {
                if ($this->serviceStr) {
                        $wsdl = new wsdl ($this->serviceStr);
                        return $wsdl->getOperations ();
                }
        }

        function call () {
                if ($this->serviceStr && func_num_args() >= 1) {
                        $soap = new SoapClient($this->serviceStr);
                        return $soap->call (func_get_arg(1), array_slice(func_get_args(), 1), '', '', false, true);
                }
        }
}

?>
